package cn.miju.ser.framework.request;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * <pre>
 * 支付接口请求参数类
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-07 9:45
 */
@Data
public class MiJuPayRequest {
    /**
     * 平台商户号
     */
    @NotBlank(message = "传入平台商户号不能为空")
    @JSONField(name = "platform_merchant_no", ordinal = 1)
    private String platformMerchantNo;
    /**
     * 时间戳(格式：yyyyMMddHHmmss)
     */
    @NotBlank(message = "传入时间戳不能为空")
    @JSONField(name = "time_stamp", ordinal = 2)
    private String timeStamp;
    /**
     * 交易流水号(格式：交易时间+4位随机数)
     */
    @NotBlank(message = "传入交易流水号不能为空")
    @JSONField(name = "trans_serial_no", ordinal = 3)
    private String transSerialNo;
    /**
     * 请求参数是否加密
     */
    @NotNull(message = "传入请求参数是否加密不能为空")
    @JSONField(ordinal = 4)
    private Boolean encrypt;
    /**
     * 请求参数(JSON字符串 明文/RSA公钥加密)
     */
    @NotBlank(message = "传入请求参数不能为空")
    @JSONField(name = "biz_content", ordinal = 5)
    private String bizContent;
    /**
     * 签名(MD5摘要值)
     */
    @NotBlank(message = "传入签名(MD5摘要值)不能为空")
    @JSONField(ordinal = 6)
    private String sign;

}
